package sort

// 冒泡排序
type BubbleSort struct {
}

func (b BubbleSort) Sort(nums []int) {
	size := len(nums)
	for i := 1; i < size; i++ {
		for j := 0; j < size-i; j++ {
			if (nums)[j] > (nums)[j+1] {
				(nums)[j], (nums)[j+1] = (nums)[j+1], (nums)[j]
			}
		}
	}
	// 冒泡排序的写法(2)
	// size := len(*nums)
	//	v := *nums
	//	for i := 0; i < size; i++ {
	//		for j := i + 1; j < size; j++ {
	//			if v[i] > v[j] {
	//				v[i], v[j] = v[j], v[i]
	//			}
	//		}
	//	}

	// 冒泡排序的写法(3)
	// swapped := true
	//	for swapped {
	//		swapped = false
	//		for i := 0; i < len(v)-1; i++ {
	//			if v[i+1] < v[i] {
	//				swap(v, i, i+1)
	//				swapped = true
	//			}
	//		}
	//	}

}
